package service.impl;

import service.Service;

/**
 * @Classname Agent
 * @Description 助理：代理对象，完成除唱歌业务外的其他业务，如预定时间、预定场地、结算费用等
 * @Date 2022/8/3 11:01
 * @Created by Administrator
 */
public class Agent implements Service {

    //类中的成员变量设计为接口
    public Service target;//目标对象

    //传入目标对象，方法的参数设计为接口
    public Agent(Service target){
        this.target = target;
    }

    public void sing() {
        System.out.println("预定时间.........");
        System.out.println("预定场地.........");
        //切记：业务功能必须由目标对象亲自实现
//        SuperStartLiu liu = new SuperStartLiu();
//        liu.sing();
//        SuperStarZhou zhou = new SuperStarZhou();
//        zhou.sing();
        //面向接口编程，调用时，接口指向实现类
        // 是哪个实现类就调用哪个实现类的sing方法
        target.sing();
        System.out.println("费用结算.........");
    }
}
